Processes (e.g., applications) running on a computing device often require a network connection to download or upload (send, receive) data from network resources. Sometimes processes will wait for specific conditions to be met before attempting to make a network connection. Sometimes processes will attempt to make a network connection without checking the condition of the computing device or the state of the network. Computing resources of the computing device can be wasted (e.g., battery depleted) when the processes attempt to make a network connection without knowing the state of the network and/or the computing device.